Skip to main content

CAC Basic API

Objective

The CAC Basic API returns information about a company, including its registration date, company address, and more.

Info
The Corporate Affairs Commission (CAC) is a Nigerian government body responsible for regulating and managing companies in the country. The CAC assigns a Registration Certificate (RC) number to each business that registers with them.
InputOutput
The RC Number or name of the company The details corresponding to the given RC. The complete list of output fields is provided under the Success Response Details section.

API Endpoint

cacBasic

Overview

The API is RESTful and uses standard HTTP verbs and status codes. The responses are in JSON format and you should upload all images and files as form-data through a POST request.

Authentication

You need a unique pair of application ID (appId) and application key (appKey) from HyperVerge to verify your identity for accessing the API.

API Request Details

Method - POST

Headers

ParameterMandatory or OptionalDescriptionAllowed Values
content-type MandatoryThis parameter defines the media type for the request payloadapplication/json
appId MandatoryThe application identifier shared by HyperVerge. You can find the details in the dashboard's credentials tab.This should be a unique value.
appKey MandatoryThe application key shared by HyperVerge. You can find the details in the dashboard's credentials tab.This should be a unique value.
transactionIdMandatoryA unique identifier for tracking a user journeyThis should be both unique and easily associated with the user's journey in your application(s)

Input

The following table provides the complete information on the parameter used in the request body for the API calls.

ParameterDescriptionMandatory or OptionalAllowed ValuesDefault Value
RCThe company's name or RC NumberMandatoryNot ApplicableNot Applicable

Request

The following code shows a standard cURL request for the API.

curl --location --request POST 'https://zaf.thomas.hyperverge.co/v1/cacBasic' \
--header 'Content-Type: application/json' \
--header 'appId: <Enter_the_HyperVerge_appId>' \
--header 'appKey: <Enter_the_HyperVerge_appKey>' \
--header 'transactionId: <Enter_the_HyperVerge_transactionID>' \
--data '{
"RC": "<Enter_RC_number>"
}'

Success Response

The following code is a success response from the API.

{
"status": "success",
"statusCode": "200",
"result": {
"status": "<Status_Of_Lookup>",
"message": "<Message_Describing_Result>",
"timestamp": "<Timestamp_Of_Lookup_in_ISO8601_Format>",
"data": [
{
"classificationId": "<Classification_Id>",
"natureOfBusinessName": "<Nature_Of_Business_Name>",
"delistingStatus": "<Delisting_Status>",
"companyTypeName": "<Company_Type_Name>",
"id": "<Unique_Company_Id>",
"headOfficeAddress": "<Head_Office_Address>",
"active": "<Is_Company_Active>",
"businessCommencementDate": "<Business_Commencement_Date>",
"registrationApproved": "<Is_Registration_Approved>",
"objectives": "<Company_Objectives>",
"branchAddress": "<Branch_Office_Address>",
"registrationDate": "<Company_Registration_Date>",
"approvedName": "<Approved_Company_Name>",
"classification": "<Company_Classification>",
"city": "<City>",
"lga": "<Local_Government_Area>",
"rcNumber": "<Registration_Certificate_Number>",
"email": "<Company_Email_Address>",
"address": "<Complete_Company_Address>",
"state": "<State>"
}
]
},
"metaData": {
"requestId": "<Unique_Request_Id>",
"transactionId": "<Transaction_Id>"
}
}

Success Response Details

ParameterTypeDescription
statusstringThe status of the API response
statusCodeintegerThe HTTP status code of the API response
resultobjectThe object containing details about the lookup result
statusstringThe status of the lookup operation
messagestringThe message describing the result of the lookup operation
timestampstringThe date and time when the operation was completed, formatted in ISO 8601 standard (YYYY-MM-DDTHH:MM:SS.sssZ)
dataarrayThe array containing company details
classificationIdintegerThe numeric identifier representing the classification category of the business
natureOfBusinessNamestringThe nature of the business
delistingStatusstringThe delisting status of the company; whether the company has been delisted or not
companyTypeNamestringThe type of company, for example, a limited liability, or sole proprietorship
idintegerThe unique identifier of the company
headOfficeAddressstringThe address of the company's head office
activebooleanIndicates if the company is currently active
businessCommencementDatestringThe date when the business officially commenced operations
registrationApprovedbooleanIndicates if the company's registration is approved
objectivesstringThe description of the company's objectives
branchAddressstringThe address of any branch office of the company
registrationDatestringThe date when the company was registered, formatted in ISO 8601 standard
approvedNamestringThe approved name of the company
classificationstringThe classification of the company
citystringThe city where the company is located
lgastringThe Local Government Area(LGA) of the company's location
rcNumberstringThe RC number assigned to the company by the CAC
emailstringThe email address of the company
addressstringThe physical address of the company, including details like street and building
statestringThe state where the company is located
metaDataobjectThe object containing metadata about the request
requestIdstringThe unique identifier for the request
transactionIdstringThe transaction ID associated with the request

Error Responses

{
"message": "RC is not allowed to be empty",
"statusCode": 400,
"status": "failure",
"metaData": {
"requestId": "<Request_ID>",
"transactionId": "<Transaction_ID>"
}
}

Error Response Details

A failure or error response from the module contains a failure status, with a relavant status code and error message. The following table lists all error responses.

Status CodeError MessageError Description
400RC is not allowed to be emptyThe RC field in the request is empty
401Missing/Invalid credentialsThe request is either missing the mandatory appId and appKey combination or has invalid values
404We couldn't find any matching records based on the information you provided. Please double-check the parameters you passed and try again.The input length or data provided does not match any existing records
404We couldn't find any matching records based on the information you provided. Please double-check the parameters you passed and try again.The entered name or RC number for the company is invalid
500Internal Server ErrorPlease check the request headers or contact the HyperVerge team for resolution
Was this helpful?
Ask AIBeta
Hi! How can I help?
Ask me anything about HyperVerge products, APIs, and SDKs.
Try asking: